/**
 * 绑定手机号界面
 * author:zhushy
 * date:2016年3月15日16:30:42
 */
;
define(function(require, exports, module) {
	var wechat = require("wechat");
	var register = {
		data: {},
		sessionid: "",
		/**
		 * bindEvent 页面事件
		 */
		bindEvent: function() {
			//返回
			$("#return_register").unbind().on("click", function() {
				window.location.href = "#home";
			});
			$("#mobile_register").unbind().on("input", function() {
				register.pwdChange($(this).val());
			});
			$("#getcode_register").unbind().on("click", function() {
				if($("#getcode_register").hasClass("register_active")) {
					register.getCheckCode();
				} else {
					return;
				}
			});
			$("#checkcode_register").unbind().on("input", function() {
				register.checkcodeChange($(this).val());
			});
			$("#submint_register").unbind().on("click", function() {
				if($("#submint_register").hasClass("register_active")) {
					register.verifyCheckCode();
				} else {
					return;
				}
			});
		},
		/**
		 * 进行页面路由监听配置
		 * 
		 */
		bindRout: function() {
			//首页监听路由
			Path.map("#home").to(function() {
				//返回首页
				common.loadPage({
					pageUrl: "html/index.html",
					reload: true,
					from: "left"
				});
			});
			//公共页面监听路由
			Path.map("").to(function() {
				//返回首页
				common.loadPage({
					pageUrl: "html/index.html",
					reload: true,
					from: "left"
				});
			});
			Path.listen();
		},
		/**
		 * 页面数据加载
		 */
		initData: function() {},
		verifyCheckCode: function() {
			var _this = this;
			var userPhone = $("#mobile_register").val();
			var param = {
				"openId": window.localStorage.getItem("openId"),
				"appId": window.localStorage.getItem("appId"),
				"userPhone": $("#mobile_register").val(),
				"sessionId": register.sessionid,
				"checkCode": $("#checkcode_register").val()
			};
			common.loadData({
				url: "/wxmember/service/verifyCheckCode",
				param: param,
				successCallBack: function(res) {
					if(res.status == "0") {
						register.bindUserPhone();
					} else {
//						register.bindUserPhone();
						common.showTip({
							content: res.message
						});
					}
				},
				cache: false //标识是不加载全部
			});
		},
		bindUserPhone: function() {
			var param = {
				"userPhone": $("#mobile_register").val(),
				"openId": window.localStorage.getItem("openId"),
				"appId": window.localStorage.getItem("appId")
			}
			common.loadData({
				url: "/wxmember/service/bindUserPhone",
				param: param,
				successCallBack: function(res) {
					if(res.status == "0") {
						common.showTip({
							content: "绑定成功"
						});
						var timeout=setTimeout(function(){
//							window.location.href = "#home";
							window.localStorage.setItem("loadType","type1");
							window.history.back(-1);
						}, 500);
					} else {
						common.showTip({
							content: res.message
						});
					}
				},
				cache: false //标识是不加载全部
			});
			
		},
		getCheckCode: function() {
			var $btn = $('#getcode_register');
			$btn.html('重新发送（60s）').removeClass('register_active');
			var count = 60;
			var ret = setInterval(function() {
				--count;
				if(count == 0) {
					$btn.html('获取验证码');
					if(register.checkPhone($("#mobile_register").val())) {
						//是11位手机号的时候 可以点击获取密码
						$btn.addClass("register_active");
					} else {
						//不是11位手机号的时候 不可以点击获取密码
						$btn.removeClass("register_active");
					}
					clearInterval(ret);
				} else {
					$btn.html('重新发送（' + count + 's）');
				}
			}, 1000);
			var param = {
				"openId": window.localStorage.getItem("openId"),
				"appId": window.localStorage.getItem("appId"),
				"userPhone": $("#mobile_register").val()
			};
			common.loadData({
				url: "/wxmember/service/getCheckCode",
				param: param,
				successCallBack: function(res) {
					if(res.status == "0") {
						register.sessionid = res.data.sessionId;
					} else {
						common.showTip({
							content: res.message
						}); //手机已注册会提示
						$btn.html('获取验证码');
						if(register.checkPhone($("#mobile_register").val())) {
							//是11位手机号的时候 可以点击获取密码
							$btn.addClass("register_active");
						} else {
							//不是11位手机号的时候 不可以点击获取密码
							$btn.removeClass("register_active");
						}
						clearInterval(ret);
					}
				}, //回调函数
				cache: false //标识是不加载全部
			});
		},
		//检验手机号
		checkPhone: function(phone) {
			var pattern = /^1[0-9]{10}$/;
			return pattern.test(phone);
		},
		checkcodeChange: function(code) {
			var bool = register.checkPhone($("#mobile_register").val());
			if(bool && code.trim().length > 0) {
				$(".bc_dd").addClass("register_active");
			} else {
				$(".bc_dd").removeClass("register_active");
			}
		},
		//手机号输入框改变
		pwdChange: function(phone) {
			if(register.checkPhone(phone)) {
				//是11位手机号的时候 可以点击获取密码
				$("#getcode_register").addClass("register_active");

			} else {
				//不是11位手机号的时候 不可以点击获取密码
				$("#getcode_register").removeClass("register_active");
			}
		},
		//验证码输入框改变
		codeChange: function() {
			//验证码的样式更改
			var $btn = $('.btn-retransmit');
			if(!$btn.hasClass('is-restransit') && $('.reg-input-account').val().trim().length > 0) {
				$btn.removeClass('btn-retransmit-disabled').addClass('theme-color').addClass('theme-border-color');
			} else {
				$btn.addClass('btn-retransmit-disabled').removeClass('theme-color').removeClass('theme-border-color');;
			}
			//提交按钮的样式更改
			this.valueChange();
		},
		//按钮改变
		valueChange: function() {
			var rpwd = this.$el.find('.reg-input-pwd');
			var raccount = this.$el.find('.reg-input-account');
			var btn = this.$el.find('.btnRegister');
			if(rpwd.val().trim().length > 0 && raccount.val().trim().length > 0 && $('.bd-st').hasClass('theme-backgorund-color')) {
				btn.removeAttr("disabled");
				btn.removeClass('theme-backgorund-color-contrast').removeClass('theme-border-color-contrast').addClass('theme-border-color').addClass('theme-backgorund-color');
			} else {
				btn.attr("disabled", "disabled");
				btn.addClass('theme-backgorund-color-contrast').addClass('theme-border-color-contrast').removeClass('theme-border-color').removeClass('theme-backgorund-color');
			}
		},
		/**
		 * each page init mothed
		 */
		initialize: function() {
			if(common.isWeiXin()){
            	$(".bcr_main").css("margin-top","0rem");
           
            }
			//动态加载数据
			this.initData();
			//事件绑定
			this.bindEvent();
			//路由绑定
			this.bindRout();
		}
	};

	module.exports = register;
});